package com.amoyt.project.service.admin;

import com.amoyt.project.domain.dto.insert.ArticleAddDto;
import com.amoyt.project.domain.dto.query.ArticlePageQuery;
import com.amoyt.project.domain.dto.update.ArticleUpdateDto;
import com.amoyt.project.domain.pojo.Article;
import com.amoyt.project.domain.res.Result;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 文章主表 服务类
 * </p>
 *
 * @author AmoyT
 * @since 2025-08-25
 */
public interface ArticleService {

    /**
     * 获取文章列表
     * @param query
     * @return
     */
    Result list(ArticlePageQuery query);

    /**
     * 获取文章详情
     * @param articleId
     * @return
     */
    Result queryArticleDetail(String articleId);

    /**
     * 添加文章
     * @param flag 0-草稿 1-发布
     * @param articleAddDto
     * @return
     */
    Result add(Integer flag, ArticleAddDto articleAddDto);

    /**
     * 批量删除文章
     * @param articleIds
     * @return
     */
    Result deleteBatch(List<String> articleIds);

    /**
     * 修改文章
     * @param articleUpdateDto
     * @return
     */
    Result updateArticle(ArticleUpdateDto articleUpdateDto);

    /**
     * 获取文章整体+详情
     * @param articleId
     * @return
     */
    Result queryArticleDetailNew(String articleId);
}
